package com.example.jvm_ssg.classLoader;

public class ClassLoaderText {
    public static void main(String[] args) {
        // 获取系统类加载器
        ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
        System.out.println(systemClassLoader); //jdk.internal.loader.ClassLoaders$AppClassLoader@1f89ab83

        //获取上层扩展类加载器
        ClassLoader ext = systemClassLoader.getParent();
        System.out.println(ext);// jdk.internal.loader.ClassLoaders$PlatformClassLoader@dfd3711

        // 获取上层加载器（引导类加载器） 获取不到
        ClassLoader boot = ext.getParent();
        System.out.println(boot);// null

        // 对于自定义类来说：默认使用系统类加载器加载
        ClassLoader classLoader = ClassLoaderText.class.getClassLoader();
        System.out.println(classLoader);//jdk.internal.loader.ClassLoaders$AppClassLoader@1f89ab83

        //  String类使用引导类加载器加载：--》Java的核心类库都是使用引导类加载器加载的
        // 引用类加载器使用C编写的 也是不能获取到的原因
        ClassLoader classLoader1 = String.class.getClassLoader();
        System.out.println(classLoader1);//null

    }
}
